#include "PFlag.h"


PFlag::PFlag(void)
{
	m_intflag = PFlag::TEX;
}

PFlag::PFlag(const int& tp_page)
{
	m_intflag = tp_page;
}

void PFlag::setFlag(const int& tp_page)
{
	m_intflag = tp_page;
}

int PFlag::Get(void) const
{
	return m_intflag;
}

string PFlag::getFlagStr(void) const
{
	switch (m_intflag)
	{
	case PFlag::NONE:
		return("NONE");
	case PFlag::TEX:
		return("TEX");
	case PFlag::TXT:
		return("TXT");
	case PFlag::RTF:
		return("RTF");
	case PFlag::HTML:
		return("HTML");
	default:
		return("<default>");
	}
}

bool   PFlag::setFlag(const string& str)
{
	if (str.compare("NONE")==0)
	{
		m_intflag = PFlag::NONE;
	}
	else if (str.compare("TEX")==0)
	{
		m_intflag = PFlag::TEX;
	}
	else if (str.compare("TXT")==0)
	{
		m_intflag = PFlag::TXT;
	}
	else if (str.compare("RTF")==0)
	{
		m_intflag = PFlag::RTF;
	}
	else if (str.compare("HTML")==0)
	{
		m_intflag = PFlag::HTML;
	}
	else
	{
		return(false);
	}
	return(true);
}

bool PFlag::isSetFlag(void) const
{
	if (m_intflag==NONE) return(false);
	return(true);
}

string PFlag::getFlagDescription( ExaTextFormat format) const
{
    if (format == EXA_TEXT_FORMAT_UNKNOWN)
        return "EXA_TEXT_FORMAT_UNKNOWN";
    else if (format == EXA_TEXT_FORMAT_UNKNOWN)
        return "EXA_TEXT_FORMAT_UNKNOWN";
    else if (format == EXA_TEXT_FORMAT_UNKNOWN)
        return "EXA_TEXT_FORMAT_UNKNOWN";
}
